package com.jdjc.suject.domin.service;


import com.jdjc.subject.common.entity.PageResult;
import com.jdjc.subject.infra.basic.entity.SubjectInfoEs;
import com.jdjc.suject.domin.entity.SubjectInfoBO;

import java.util.List;


public interface SubjectInfoDomainService {
    /**
     * 新增题目
     * @param subjectInfoBO
     * @return
     */
    void add(SubjectInfoBO subjectInfoBO);

    /**
     * 分页查询题目列表
     * @param subjectInfoBO
     * @return
     */
    PageResult<SubjectInfoBO> getSubjectPage(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目信息
     * @param subjectInfoBO
     * @return
     */
    SubjectInfoBO querySubjectInfo(SubjectInfoBO subjectInfoBO);

    /**
     * es全文检索
     * @param subjectInfoBO
     * @return
     */
    PageResult<SubjectInfoEs> getSubjectPageBySearch(SubjectInfoBO subjectInfoBO);

    /**
     * 获取题目贡献榜单
     * @return
     */
    List<SubjectInfoBO> getContributeList();
}
